The present invention relates to an encoding/decoding method and apparatus, and a disk storage device, which all perform error correction on a data sequence to be recorded or transferred.
The encoding/decoding (communication channel encoding) technique that is necessary for error correction to guarantee the reliability of data is one of very important elements in a disk storage device like a hard disk drive (HDD), and a data communication system. This has therefore encouraged development and proposal of various kinds of encoding/decoding systems.
xe2x80x9cEncodingxe2x80x9d here means a process of generating a sequence of encoded data or code words by affixing redundancy data (ECC (Error Correcting Code) like a check symbol) to a data sequence (consisting of a sequence of bits of 0 and 1) which indicates digital information. xe2x80x9cDecodingxe2x80x9d is a process of performing error correction (including error detection) on a received (input) encoded data sequence or code word sequence to estimate the original data sequence or inform presence/absence of errors. The types of data errors are a random error which occurs at random for each bit, and a burst error which is a series of errors.
With regard to an HDD, for example, there may be a composite error communication channel in which a random error and a burst error may both occur. A xe2x80x9ccommunication channelxe2x80x9d in the error correcting encoding scheme means a model system which includes a read/write circuit (signal processing circuit) called a read/write channel, and a disk storage medium. One error correcting system that is used for this composite error communication channel is a system which implements a data interleaving process on a data sequence or a sequence of recorded data and uses a random error correcting code or a block code, such as an RS (Reed-Solomon) code, on a data sequence with an interleave structure that has been produced by the data interleaving process (which may simply referred to as xe2x80x9cinterleaved data sequencexe2x80x9d). For the sake of convenience, this system is called xe2x80x9cfirst encoding system.xe2x80x9d
There is another error correcting system which arranges data and generates check symbols CS in two directions in the arrangement. One example of the system is an encoding system (product code) which arranges data in a two dimensional matrix and encodes each row of data and each column of data. As a xe2x80x9ccheck symbolxe2x80x9d is one kind of ECC, a check symbol will be used as a synonym for xe2x80x9cECC.xe2x80x9d
Conceptually, the first encoding system generates a sequence of encoded data which has resulted from affixing an ECC (check symbol) to each of three interleaved data sequences as shown in FIG. 1A. While the first encoding system can advantageously be realized by a circuit with a relatively simple structure, it has such a drawback as to be unable to correct data when errors are concentrated on one interleaved data sequence.
As a solution to this shortcoming, one may consider a system which increases the number of check symbols in order to increase the number of correctable errors for each interleaved data sequence as shown in FIG. 1B. (For the sake of convenience, this system is called xe2x80x9csecond encoding system.xe2x80x9d) The second encoding system however requires a greater time for error correction (decoding process) regardless of the number of errors.
In view of the above, a third encoding system has been proposed which employs the aforementioned product code or cross-interleaving scheme, as shown in FIG. 1C. The third encoding system generates a check symbol for each row of an interleaved data sequence which is acquired by the data interleaving process, and also generates a check symbol for each column (or data in a different direction from row, such as an oblique direction).
This third encoding system can increase the number of correctable errors for each interleaved data sequence and can decode errors correctable by the first encoding system in the same processing speed. As compared with the first encoding system, however, the number of check symbols is increased by the number of check symbols used in the column direction. This results in an increase in the number of check symbols to be affixed to a data sequence to be recorded, thus lowering the encoding efficiency.
Accordingly, it is an object of the present invention to provide an encoding/decoding method and apparatus, and a disk storage device, which can suppress reduction in the encoding efficiency by using a relatively small amount of error correcting codes and can ensure fast and reliable decoding.
According to one aspect of the present invention, there is provided an encoding/decoding apparatus comprising: means for generating data sequences with first and second interleave structures by respectively performing on a data sequence to be encoded, data interleaving processes based on different first and second data interleaving schemes; means for generating sequences of first and second error correcting codes respectively corresponding to the data sequences with the first and second interleave structures; means for generating an encoded data sequence which has the generated sequences of first and second error correcting codes affixed to the data sequence to be encoded; and means for decoding a data sequence to be decoded, included in the encoded data sequence, by using the data interleaving processes and the sequences of first and second error correcting codes.
According to another aspect of the present invention, there is provided a disk storage device comprising: means for generating data sequences with first and second interleave structures by respectively performing on a data sequence to be written on a disk storage medium, data interleaving processes based on different first and second data interleaving schemes; means for generating sequences of first and second error correcting codes respectively corresponding to the data sequences with the first and second interleave structures; means for generating an encoded data sequence which has the generated sequences of first and second error correcting codes affixed to the data sequence to be written on the disk storage medium; means for writing the generated, encoded data sequence on the disk storage medium; means for reading the encoded data sequence written on the disk storage medium; and means for decoding a data sequence to be transferred, included in the read, encoded data sequence, by using the data interleaving processes and the sequences of first and second error correcting codes.
According to still another aspect of the present invention, there is provided an encoding method comprising the steps of: generating data sequences with first and second interleave structures by respectively performing on a data sequence to be encoded, data interleaving processes based on different first and second data interleaving schemes; generating sequences of first and second error correcting codes respectively corresponding to the data sequences with the first and second interleave structures; and generating an encoded data sequence which has the generated sequences of first and second error correcting codes affixed to the data sequence to be encoded.
According to still another aspect of the present invention, there is provided a decoding method comprising the steps of: reproducing a data sequence with a first interleave structure by performing on a data sequence which is to be decoded and included in an encoded data sequence, a data interleaving process based on a first data interleaving scheme; executing a first error correcting process on the reproduced data sequence with the first interleave structure, by using a sequence of first error correcting codes included in the encoded data sequence; reproducing a data sequence with a second interleave structure by performing on the data sequence to be decoded, a data interleaving process based on a second data interleaving scheme; executing a second error correcting process on the reproducing data sequence with the second interleave structure, by using a sequence of second error correcting codes included in the encoded data sequence; and alternately performing the first error correcting process and the second error correcting process.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.